package com.example.opengl.base

import java.nio.ByteBuffer
import java.nio.ByteOrder
import java.nio.FloatBuffer

/**
 * @author: Mr.You
 * @create: 2023-07-18 16:47
 * @description:
 **/
class BufferHelper {
    companion object {
        fun getFloatBuffer(vertexes: FloatArray): FloatBuffer {
            return ByteBuffer.allocateDirect(vertexes.size * Float.SIZE_BYTES).apply { order(ByteOrder.nativeOrder()) }
                .asFloatBuffer()
                .apply {
                    put(vertexes)
                    position(0)
                }

        }

        fun getByteBuffer(byteArray: ByteArray): ByteBuffer {
            return ByteBuffer.allocateDirect(byteArray.size * Byte.SIZE_BYTES).apply {
                order(ByteOrder.nativeOrder())
                    .apply {
                        put(byteArray)
                        position(0)
                    }
            }
        }
    }
}